<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Repetier-Firmware: src/ArduinoAVR/Repetier/HAL.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="icon128.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Repetier-Firmware
   &#160;<span id="projectnumber">1.0.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('_h_a_l_8cpp.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">HAL.cpp File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="_repetier_8h_source.html">Repetier.h</a>&quot;</code><br />
<code>#include &lt;compat/twi.h&gt;</code><br />
<code>#include &lt;avr/io.h&gt;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ac5ab439005915ed485c157163ebc6b95"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8cpp.html#ac5ab439005915ed485c157163ebc6b95">HEATER_PWM_STEP</a>&#160;&#160;&#160;2</td></tr>
<tr class="separator:ac5ab439005915ed485c157163ebc6b95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e7657b6d99a2663212589ac5d022ba9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8cpp.html#a5e7657b6d99a2663212589ac5d022ba9">HEATER_PWM_MASK</a>&#160;&#160;&#160;254</td></tr>
<tr class="separator:a5e7657b6d99a2663212589ac5d022ba9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a6ffff5c01d347f1218cb4e728fd87e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8cpp.html#a4a6ffff5c01d347f1218cb4e728fd87e">COOLER_PWM_SPEED</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a4a6ffff5c01d347f1218cb4e728fd87e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6985f3fc5776276c4d92c663d309b4fb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8cpp.html#a6985f3fc5776276c4d92c663d309b4fb">COOLER_PWM_STEP</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a6985f3fc5776276c4d92c663d309b4fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef3116db60f53b938583e11e0986381c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8cpp.html#aef3116db60f53b938583e11e0986381c">COOLER_PWM_MASK</a>&#160;&#160;&#160;255</td></tr>
<tr class="separator:aef3116db60f53b938583e11e0986381c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ca31dfdc23d7e5fe4741feebbb138e8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8cpp.html#a5ca31dfdc23d7e5fe4741feebbb138e8">pulseDensityModulate</a>(pin,  density,  error,  invert)&#160;&#160;&#160;{uint8_t carry;carry = error + (invert ? 255 - density : density); <a class="el" href="fastio_8h.html#a3d38c0667426652d3fa2eb62f23e1591">WRITE</a>(pin, (carry &lt; error)); error = carry;}</td></tr>
<tr class="separator:a5ca31dfdc23d7e5fe4741feebbb138e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9e48b70104e9233b1c89337a29de450"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8cpp.html#ab9e48b70104e9233b1c89337a29de450">ADVANCE_DIR_FILTER_STEPS</a>&#160;&#160;&#160;2</td></tr>
<tr class="separator:ab9e48b70104e9233b1c89337a29de450"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a73fea6a0baf160327564ce5b4110d099"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8cpp.html#a73fea6a0baf160327564ce5b4110d099">__attribute__</a> ((used)) stepperWait=0</td></tr>
<tr class="separator:a73fea6a0baf160327564ce5b4110d099"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a078a7df1a034381e74f2a49e4c1752b0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8cpp.html#a078a7df1a034381e74f2a49e4c1752b0">setTimer</a> (uint32_t delay)</td></tr>
<tr class="memdesc:a078a7df1a034381e74f2a49e4c1752b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the timer 1 compare value to delay ticks.  <a href="#a078a7df1a034381e74f2a49e4c1752b0">More...</a><br /></td></tr>
<tr class="separator:a078a7df1a034381e74f2a49e4c1752b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad39420cdd896dd12c68e36313139d0a5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8cpp.html#ad39420cdd896dd12c68e36313139d0a5">ISR</a> (TIMER1_COMPA_vect)</td></tr>
<tr class="memdesc:ad39420cdd896dd12c68e36313139d0a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer interrupt routine to drive the stepper motors.  <a href="#ad39420cdd896dd12c68e36313139d0a5">More...</a><br /></td></tr>
<tr class="separator:ad39420cdd896dd12c68e36313139d0a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6aae7116e915b82806978c601e42ec42"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8cpp.html#a6aae7116e915b82806978c601e42ec42">ISR</a> (<a class="el" href="_h_a_l_8h.html#a0ad5f01af339a57de4bd2a3531300d18">PWM_TIMER_VECTOR</a>)</td></tr>
<tr class="separator:a6aae7116e915b82806978c601e42ec42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66f94003221e0886abfe3f0ad6f73879"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8cpp.html#a66f94003221e0886abfe3f0ad6f73879">ISR</a> (<a class="el" href="_h_a_l_8h.html#a5493104832094f07b22a464e74bd27e5">EXTRUDER_TIMER_VECTOR</a>)</td></tr>
<tr class="memdesc:a66f94003221e0886abfe3f0ad6f73879"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer routine for extruder stepper.  <a href="#a66f94003221e0886abfe3f0ad6f73879">More...</a><br /></td></tr>
<tr class="separator:a66f94003221e0886abfe3f0ad6f73879"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a07a4ca15886903cf2fb4f1eaf8c159cd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_repetier_8h.html#a2d25bcd37166cc98f0d823cdb8c553ef">uint8</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8cpp.html#a07a4ca15886903cf2fb4f1eaf8c159cd">osAnalogInputCounter</a> [<a class="el" href="_repetier_8h.html#a4791bfa40258d27fa714fff6d8e62a30">ANALOG_INPUTS</a>]</td></tr>
<tr class="separator:a07a4ca15886903cf2fb4f1eaf8c159cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a384beae2dd995028fca6d9f4170b577c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_repetier_8h.html#ad46b2ebcd4c426b06cda147ddc1001e7">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8cpp.html#a384beae2dd995028fca6d9f4170b577c">osAnalogInputBuildup</a> [<a class="el" href="_repetier_8h.html#a4791bfa40258d27fa714fff6d8e62a30">ANALOG_INPUTS</a>]</td></tr>
<tr class="separator:a384beae2dd995028fca6d9f4170b577c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74b358db2517ebe9a05df050f7a2b180"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_repetier_8h.html#a2d25bcd37166cc98f0d823cdb8c553ef">uint8</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8cpp.html#a74b358db2517ebe9a05df050f7a2b180">osAnalogInputPos</a> = 0</td></tr>
<tr class="separator:a74b358db2517ebe9a05df050f7a2b180"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66483eb15545e503793f1279a5794c32"><td class="memItemLeft" align="right" valign="top">const uint16_t fast_div_lut [17]&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8cpp.html#a66483eb15545e503793f1279a5794c32">PROGMEM</a></td></tr>
<tr class="separator:a66483eb15545e503793f1279a5794c32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd8a21ab27a81d8be2ef1477f0b111d6"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8cpp.html#abd8a21ab27a81d8be2ef1477f0b111d6">resetFunc</a> )(void)=0</td></tr>
<tr class="separator:abd8a21ab27a81d8be2ef1477f0b111d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80b3c17e5e4392843888b94bb29fbd46"><td class="memItemLeft" align="right" valign="top">static int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8cpp.html#a80b3c17e5e4392843888b94bb29fbd46">extruderLastDirection</a> = 0</td></tr>
<tr class="separator:a80b3c17e5e4392843888b94bb29fbd46"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ab9e48b70104e9233b1c89337a29de450"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab9e48b70104e9233b1c89337a29de450">&#9670;&nbsp;</a></span>ADVANCE_DIR_FILTER_STEPS</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ADVANCE_DIR_FILTER_STEPS&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="aef3116db60f53b938583e11e0986381c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef3116db60f53b938583e11e0986381c">&#9670;&nbsp;</a></span>COOLER_PWM_MASK</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define COOLER_PWM_MASK&#160;&#160;&#160;255</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a4a6ffff5c01d347f1218cb4e728fd87e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a6ffff5c01d347f1218cb4e728fd87e">&#9670;&nbsp;</a></span>COOLER_PWM_SPEED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define COOLER_PWM_SPEED&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a6985f3fc5776276c4d92c663d309b4fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6985f3fc5776276c4d92c663d309b4fb">&#9670;&nbsp;</a></span>COOLER_PWM_STEP</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define COOLER_PWM_STEP&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a5e7657b6d99a2663212589ac5d022ba9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e7657b6d99a2663212589ac5d022ba9">&#9670;&nbsp;</a></span>HEATER_PWM_MASK</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HEATER_PWM_MASK&#160;&#160;&#160;254</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="ac5ab439005915ed485c157163ebc6b95"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac5ab439005915ed485c157163ebc6b95">&#9670;&nbsp;</a></span>HEATER_PWM_STEP</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HEATER_PWM_STEP&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a5ca31dfdc23d7e5fe4741feebbb138e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ca31dfdc23d7e5fe4741feebbb138e8">&#9670;&nbsp;</a></span>pulseDensityModulate</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define pulseDensityModulate</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">pin, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">density, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">error, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">invert&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;{uint8_t carry;carry = error + (invert ? 255 - density : density); <a class="el" href="fastio_8h.html#a3d38c0667426652d3fa2eb62f23e1591">WRITE</a>(pin, (carry &lt; error)); error = carry;}</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a73fea6a0baf160327564ce5b4110d099"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a73fea6a0baf160327564ce5b4110d099">&#9670;&nbsp;</a></span>__attribute__()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long __attribute__ </td>
          <td>(</td>
          <td class="paramtype">(used)&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ad39420cdd896dd12c68e36313139d0a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad39420cdd896dd12c68e36313139d0a5">&#9670;&nbsp;</a></span>ISR() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ISR </td>
          <td>(</td>
          <td class="paramtype">TIMER1_COMPA_vect&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Timer interrupt routine to drive the stepper motors. </p>

</div>
</div>
<a id="a6aae7116e915b82806978c601e42ec42"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6aae7116e915b82806978c601e42ec42">&#9670;&nbsp;</a></span>ISR() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ISR </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="_h_a_l_8h.html#a0ad5f01af339a57de4bd2a3531300d18">PWM_TIMER_VECTOR</a>&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This timer is called 3906 timer per second. It is used to update pwm values for heater and some other frequent jobs. </p>

</div>
</div>
<a id="a66f94003221e0886abfe3f0ad6f73879"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a66f94003221e0886abfe3f0ad6f73879">&#9670;&nbsp;</a></span>ISR() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ISR </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="_h_a_l_8h.html#a5493104832094f07b22a464e74bd27e5">EXTRUDER_TIMER_VECTOR</a>&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Timer routine for extruder stepper. </p>
<p>Several methods need to move the extruder. To get a optima result, all methods update the printer_state.extruderStepsNeeded with the number of additional steps needed. During this interrupt, one step is executed. This will keep the extruder moving, until the total wanted movement is achieved. This will be done with the maximum allowable speed for the extruder. </p>

</div>
</div>
<a id="a078a7df1a034381e74f2a49e4c1752b0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a078a7df1a034381e74f2a49e4c1752b0">&#9670;&nbsp;</a></span>setTimer()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void setTimer </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>delay</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the timer 1 compare value to delay ticks. </p>
<p>This function sets the OCR1A compare counter to get the next interrupt at delay ticks measured from the last interrupt. delay must be &lt;&lt; 2^24 </p>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="a80b3c17e5e4392843888b94bb29fbd46"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80b3c17e5e4392843888b94bb29fbd46">&#9670;&nbsp;</a></span>extruderLastDirection</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int8_t extruderLastDirection = 0</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a384beae2dd995028fca6d9f4170b577c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a384beae2dd995028fca6d9f4170b577c">&#9670;&nbsp;</a></span>osAnalogInputBuildup</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_repetier_8h.html#ad46b2ebcd4c426b06cda147ddc1001e7">uint</a> osAnalogInputBuildup[<a class="el" href="_repetier_8h.html#a4791bfa40258d27fa714fff6d8e62a30">ANALOG_INPUTS</a>]</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a07a4ca15886903cf2fb4f1eaf8c159cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a07a4ca15886903cf2fb4f1eaf8c159cd">&#9670;&nbsp;</a></span>osAnalogInputCounter</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_repetier_8h.html#a2d25bcd37166cc98f0d823cdb8c553ef">uint8</a> osAnalogInputCounter[<a class="el" href="_repetier_8h.html#a4791bfa40258d27fa714fff6d8e62a30">ANALOG_INPUTS</a>]</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a74b358db2517ebe9a05df050f7a2b180"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a74b358db2517ebe9a05df050f7a2b180">&#9670;&nbsp;</a></span>osAnalogInputPos</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_repetier_8h.html#a2d25bcd37166cc98f0d823cdb8c553ef">uint8</a> osAnalogInputPos = 0</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a66483eb15545e503793f1279a5794c32"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a66483eb15545e503793f1279a5794c32">&#9670;&nbsp;</a></span>PROGMEM</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const uint16_t slow_div_lut [257] PROGMEM</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {0,F_CPU/4096,F_CPU/8192,F_CPU/12288,F_CPU/16384,F_CPU/20480,F_CPU/24576,F_CPU/28672,F_CPU/32768,F_CPU/36864</div><div class="line">        ,F_CPU/40960,F_CPU/45056,F_CPU/49152,F_CPU/53248,F_CPU/57344,F_CPU/61440,F_CPU/65536</div><div class="line">                                          }</div></div><!-- fragment -->
</div>
</div>
<a id="abd8a21ab27a81d8be2ef1477f0b111d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abd8a21ab27a81d8be2ef1477f0b111d6">&#9670;&nbsp;</a></span>resetFunc</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(*  resetFunc) (void)=0</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_cdf0096ae548159f0698b0a71289cf6c.html">ArduinoAVR</a></li><li class="navelem"><a class="el" href="dir_360d65efbdba454d299657bac363b72c.html">Repetier</a></li><li class="navelem"><a class="el" href="_h_a_l_8cpp.html">HAL.cpp</a></li>
    <li class="footer">Generated on Tue Sep 19 2017 18:54:00 for Repetier-Firmware by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>
